wayland: handle key up events earlier in deliver_key_event
authorRay Strode <rstrode@redhat.com>
Tue, 1 Mar 2016 13:49:27 +0000 (08:49 -0500)
committerRay Strode <rstrode@redhat.com>
Wed, 2 Mar 2016 18:07:12 +0000 (13:07 -0500)
We don't need the key repeat rate or anything like that when
handling key up events, so do key up events first before querying
for that information.

https://bugzilla.gnome.org/show_bug.cgi?id=757942

gdk/wayland/gdkdevice-wayland.c

index 9cfe6d9d1b697a19b729090d899341ac2949e17e..a5735d0d3dd4541f6af82f322f711b5ef1800b0e 100644 (file)
@@ -1740,6 +1740,9 @@ deliver_key_event (GdkWaylandDeviceData *device,
                        event->key.hardware_keycode, event->key.keyval,
                        event->key.string, event->key.state));
 
+  if (state == 0)
+    return;
+
   if (!xkb_keymap_key_repeats (xkb_keymap, key))
     return;
 
@@ -1749,9 +1752,6 @@ deliver_key_event (GdkWaylandDeviceData *device,
   device->repeat_count++;
   device->repeat_key = key;
 
-  if (state == 0)
-    return;
-
   if (device->repeat_count == 1)
     timeout = delay;
   else